package com.ctesi.service;

import com.ctesi.mapper.BidMapper;
import com.ctesi.pojo.po.hubei.AgencyPO;
import com.ctesi.pojo.po.hubei.BidPO;
import com.ctesi.pojo.po.hubei.BidderPO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import redis.clients.jedis.BitOP;
import redis.clients.jedis.BitPosParams;
import us.codecraft.webmagic.ResultItems;
import us.codecraft.webmagic.Task;
import us.codecraft.webmagic.pipeline.Pipeline;

//本类用于封装对象以及与dao层交互，上传数据到数据库。
@Service
public class zhongbiaopipelineService implements Pipeline {
    //注入所需要的实体类和插入数据库的方法
    @Autowired
    private BidMapper bidMapper;
    @Autowired
    private BidPO bidPO;

    //对爬取到的数据封装到对象中，并调用接口写入数据库。
    @Override
    public void process(ResultItems resultItems, Task task) {

        //判断招标编号是否为空，为空则不要这段数据，不为空则写入数据库。
        if (resultItems.get("zhongbiaoId") != null) {
            System.out.println("-------------------中标编号不为空，将数据写入各个数据库-----------------------");

            //封装对象
            bidPO.setPeopleOne(resultItems.get("peopleOne"));
            bidPO.setPeopleTwo(resultItems.get("peopleTwo"));
            bidPO.setPeopleThree(resultItems.get("peopleThree"));
            bidPO.setPriceOne(resultItems.get("priceOne"));
            bidPO.setPriceTwo(resultItems.get("priceTwo"));
            bidPO.setPriceThree(resultItems.get("priceThree"));
            bidPO.setZhongbiaoId(resultItems.get("zhongbiaoId"));
            bidPO.setZhongbiaoUrl(resultItems.get("zhongbiaoUrl"));


            //将所有数据插入对应的数据库中
            bidMapper.insertzhongbiao(bidPO);

            //输出结果
            System.out.println("---------------------------写入数据库成功-------------------");
        } else {
            System.out.println("当前中标编号为空，不注入数据库。");
        }


    }
}
